import { EntityBase } from 'ibiz-core';
import { IPCMAP } from '../interface';

/**
 * PC端地图实体基类
 *
 * @export
 * @abstract
 * @class PCMAPBase
 * @extends {EntityBase}
 * @implements {IPCMAP}
 */
export abstract class PCMAPBase extends EntityBase implements IPCMAP {
    /**
     * 实体名称
     *
     * @readonly
     * @type {string}
     * @memberof PCMAPBase
     */
    get srfdename(): string {
        return 'PCMAP';
    }
    get srfkey() {
        return this.pcmapid;
    }
    set srfkey(val: any) {
        this.pcmapid = val;
    }
    get srfmajortext() {
        return this.pcmapname;
    }
    set srfmajortext(val: any) {
        this.pcmapname = val;
    }
    /**
     * 建立时间
     */
    createdate?: any;
    /**
     * 更新人
     */
    updateman?: any;
    /**
     * 建立人
     */
    createman?: any;
    /**
     * 更新时间
     */
    updatedate?: any;
    /**
     * PC端地图实体标识
     */
    pcmapid?: any;
    /**
     * PC端地图实体名称
     */
    pcmapname?: any;
    /**
     * 经度
     */
    longitude?: any;
    /**
     * 纬度
     */
    latitude?: any;
    /**
     * 背景颜色属性
     */
    background?: any;
    /**
     * 高度
     */
    height?: any;
    /**
     * 字体颜色
     */
    fontcolor?: any;
    /**
     * 背景颜色
     */
    backgroundcolor?: any;
    /**
     * 地图显示文本
     */
    mapvalue?: any;
    /**
     * 地图提示
     */
    prompt?: any;
    /**
     * 地图内容
     */
    mapcontent?: any;
    /**
     * 分组属性
     */
    group?: any;
    /**
     * 排序属性
     */
    sortfield?: any;

    /**
     * 重置实体数据
     *
     * @private
     * @param {*} [data={}]
     * @memberof PCMAPBase
     */
    reset(data: any = {}): void {
        super.reset(data);
        this.pcmapid = data.pcmapid || data.srfkey;
        this.pcmapname = data.pcmapname || data.srfmajortext;
    }
}
